home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #5 / Amiga Plus CD - 2000 - No. 5.iso / Tools / Dev / FPSE_src / system / win32 / setup.c < prev    next >
Encoding:
C/C++ Source or Header  |  2000-01-01  |  2.7 KB  |  118 lines

  1. #include <windows.h>
  2. #include <stdio.h>
  3. #include <string.h>
  4.  
  5. #include "fpse.h"
  6.  
  7. #define GETCHECK(a,b)   ret = INI_Read( "FPSE", a, data);               \
  8.                         if (ret == FPSE_OK) {                           \
  9.                             if (!stricmp(data,"off")) FPSE_Flags &= ~b; \
  10.                                 else                                    \
  11.                             if (!stricmp(data,"on")) FPSE_Flags |= b;   \
  12.                         }
  13.  
  14. static char LoadData[256];
  15. FPSECfgType FPSEIni;
  16.  
  17. void LoadCFG(void)
  18. {
  19.     char data[256],*p;
  20.     int  ret;
  21.  
  22.     GetModuleFileName(NULL,data,256);
  23.  
  24.     p = data;
  25.     while(strchr(p,'\\')) {  // while there are more separators
  26.         p = strchr(p,'\\');   // point to next separator
  27.         p++;                  // point to char after last separator
  28.     }
  29.  
  30.     strcpy(p,"FPSE.INI");
  31.     INI_Load(data);
  32.  
  33.     p = LoadData;
  34.     memset(p,0,256);
  35.     memset(&FPSEIni,0,sizeof(FPSEIni));
  36.  
  37. // Get BIOS Mode
  38.     GETCHECK("EmulateBios", EMULATE_BIOS);
  39.     if (!emulate_bios)
  40.     {
  41.         ret = INI_Read( "FPSE", "RomName", data);
  42.         if (ret == FPSE_OK && strlen(data))
  43.         {
  44.             strcpy(p,data);
  45.             FPSE_Flags &= ~EMULATE_BIOS;
  46.             FPSEIni.BiosName = p;
  47.             p += strlen(p) + 2;
  48.         }
  49.     } else FPSEIni.BiosName = NULL;
  50.  
  51. // Get Cpu Mode
  52.     ret = INI_Read( "FPSE", "CpuMode", data);
  53.     if (ret == FPSE_OK)
  54.     {
  55.         if (!stricmp(data,"interpreter")) FPSE_Flags &= ~COMPILE;
  56.             else
  57.         if (!stricmp(data,"compiler")) FPSE_Flags |= COMPILE;
  58.     }
  59.  
  60. // Get Verbose
  61.     GETCHECK("Verbose", VERBOSE)
  62.  
  63. // Get Disasm
  64.     GETCHECK("Disasm", DISASMFLG)
  65.  
  66. // Get Debugger Mode
  67.     GETCHECK("Debugger", DEBUG)
  68.  
  69. // Get CDROM Cache status
  70.     GETCHECK("CDUseCache", CDUSECACHE)
  71.  
  72. // Get CDROM country
  73.     INI_Read( "FPSE", "CDCountry", data );
  74.     ret = data[0] - '0';
  75.     if (ret < 0 || ret > 2) ret = 0;
  76.     FPSE_Flags = (FPSE_Flags & 0xFFFCFFFF) | ((ret+1) <<16);
  77.  
  78. // Get Serial status
  79.     GETCHECK("UseSerial", USESERIAL)
  80.  
  81. // Get Serial port
  82.     ret = INI_Read( "FPSE", "ComPort", data);
  83.     if (ret == FPSE_OK && strlen(data))
  84.     {
  85.         strcpy(p,data);
  86.         FPSEIni.ComName = p;
  87.         p += strlen(p) + 2;
  88.     }
  89.  
  90. // Get memory card 1
  91.     ret = INI_Read( "FPSE", "MemCard1", data);
  92.     if (ret == FPSE_OK && strlen(data))
  93.     {
  94.         strcpy(p,data);
  95.         FPSEIni.Mcd1Name = p;
  96.         p += strlen(p) + 2;
  97.     }
  98.  
  99. // Get memory card 2
  100.     ret = INI_Read( "FPSE", "MemCard2", data);
  101.     if (ret == FPSE_OK && strlen(data))
  102.     {
  103.         strcpy(p,data);
  104.         FPSEIni.Mcd2Name = p;
  105.         p += strlen(p) + 2;
  106.     }
  107. }
  108.  
  109. // OS Section
  110. char *OS_Name        = "Win32";
  111. char *OS_PorterName  = NULL;
  112. char *OS_ExtendedMsg = NULL;
  113.  
  114. int OS_CheckOption(char *str)
  115. {
  116.     return FPSE_ERR;
  117. }
  118.